package com.cskaoyan.javase.method._5overload._0introduction;

/**
 * @description: 方法重载改进
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 方法重载的机制: 在同一个class当中,允许存在同名的方法,前提是,在方法名相同的情况下,方法的签名不同
 * 方法的签名: 方法名 + 形参列表
 *
 *所以构成方法重载的多个方法,必须形参列表不同
 * 什么叫形参列表不同?
 *      1,个数不同
 *      2,如果个数相同了,数据类型不同
 *      3,如果个数和数据类型都相同了,那么它们应该顺序不同
 * 以上就是形参列表不同的三个条件,除此之外没了.尤其需要注意形参的名字不影响方法重载
 *
 * 除了形参列表不同,还有别的方式构成方法重载吗?
 *      1,修饰符列表? 不行
 *      2,返回值类型? 不行
 *
 */
public class NewDemo {
    public static void main(String[] args) {
    }

    public static void test(){}
    //public static int test(){
    //    return 0;
    //}
     //void test(){}
    public static void test(int a){}
    //'test(int)' is already defined in 'com.cskaoyan.javase.method._5overload._0introduction.NewDemo'
    public static void test(double a){}
    public static void test(int b,double a){}
    public static void test(double a,int b){}




    public static int sum(int a,int b){
        return a + b;
    }
    public static double sum(double a,double b){
        return a + b;
    }
    public static long sum(long a,long b){
        return a + b;
    }
}
